package com.example.demo;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.util.JSONPObject;
import org.apache.tomcat.util.json.JSONParser;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static tools.print.*;

@Controller
public class Control {

    //进主页
    @RequestMapping("/index")
    public String goIndex()
    {
        return "index";
    }
    //进列表
    @RequestMapping("/list")
    public String goList()
    {
        return "list";
    }
    //进文章
    @RequestMapping("/post")
    public String goPost()
    {
        return "post";
    }

    //初始化主页
    @RequestMapping(value = "/init",method = {RequestMethod.POST})
    @ResponseBody
    public List sayHello(@RequestBody String msg) throws SQLException {
        pln(msg);
        List list = null;
        list = Connector.query("select * from author");
        return list;
    }

    //进入某作者的页面
    @RequestMapping(value = "/author",method = {RequestMethod.POST})
    @ResponseBody
    public List inAuthor(@RequestBody String msg) throws SQLException {
        pln(msg);
        pln("\n\n");
        List list = null;
        list = Author.init(msg);
        return list;
    }

    //发布评论
    @RequestMapping("/comment")
    public List inPost(@RequestBody String msg) throws SQLException {
        pln(msg);
        pln("\n\n");
        List list = null;
        list = Post.init(msg);
        return list;
    }

    //@RequestMapping("index")
    //public String goArticle {return "article";}





    //提交评论
    @RequestMapping(value = "/commentAdd",method = {RequestMethod.POST})
    @ResponseBody
//    public List add(@RequestBody JSONObject msg) throws SQLException {
    public List add(@RequestBody String msg) throws SQLException {
        pln("\n\n");
        pln("in add");
//        pln(msg.getString("a1"));
//        pln(msg.getString("a2"));
        pln(msg);
        List list = null;
        list = Comment.commit(msg);
        return list;
    }

    //删除评论
    @RequestMapping(value = "/commentDel",method = {RequestMethod.POST})
    @ResponseBody
    public List del(@RequestBody String msg) throws SQLException {
        pln("\n\n");
        pln("in del");
        pln(msg);
        List list = null;
        //Connector.query("select name from test");
        //Connector.insert("insert into test(name) values ('Eri000')");
        list = Comment.del(msg);
        return list;
    }

}
